DHCP address conflict detection/enforcement

ABSTRACT

The present invention resolves IP address conflicts in a network with DHCP or other address assignment protocol when some host on the network uses a conflicting static IP address to an IP address assigned to another host. The preferred method involves offering a given IP address to a host/node through the address assignment protocol while also detecting any other host/node using the offered IP address on a given VLAN using address resolution protocol. If another host/node is using the IP address, the offending host/node may be blocked on that VLAN for a set amount of time.

CROSS REFERENCE TO RELATED APPLICATIONS

This United States non-provisional patent application does not claim priority to any United States provisional patent application or any foreign patent application.

FIELD OF THE DISCLOSURE

The disclosures made herein relate generally to IP address conflict resolution. More specifically, the invention described herein resolves IP address conflicts in a network utilizing DHCP or any other address assignment protocol when some host on the network uses a conflicting static IP address to an IP address assigned to another host.

BACKGROUND

The internet is actually a group of interconnected networks. Messages between computers are exchanged over the internet by using packet switching. Different networks use a protocol to allow them to communicate with one another.

Internet Protocol (IP) specifies the format of IP packet headers as they travel through the network. Routers utilize routing tables to send data packets through the network from node to node. Every computer on the internet has a unique address. IP attaches to the data packet the address from which the data comes and the address of the system to which it is going in a protocol header.

A Local Area Network (LAN) connects terminals over a small geographic area. A Virtual Local Area Network (VLAN) is a network of computers that behave as if they are connected in close geographic proximity to one another even though they may actually be physically located on different segments of a LAN. VLANs are configured through software rather than hardware.

Dynamic Host Configuration Protocol (DHCP) allows devices operating within a network to obtain various parameters necessary to operate in an IP network. DHCP permits devices to be added to the network often without requiring any manual steps. DHCP provides a way to administer network parameter assignment at a single DHCP server.

The DHCP server manages a pool of IP addresses. A DHCP server usually provides a lease on an IP address for a set period of time. A host can request renewal of the lease on the current IP address while the lease is active. To avoid losing their leases while connected to a network, most hosts will renew the lease to maintain the same IP address throughout their connection to a single network. A host that loses an IP address due to an expired lease will need to obtain a new IP address from the DHCP server before network connectivity is restored.

The DHCP server ensures that all IP addresses are unique to prevent assignment of a given IP address to a second host while the first host's lease continues. The DHCP server is designed to manage the pool of IP addresses rather than relying on a network administrator.

Hosts send an IP lease request to a DHCP server. The DHCP server then extends an IP lease offer. The DHCP server reserves an IP address for the host and sends an offer across the network to the host.

When the host receives an IP lease offer from a DHCP server, it informs all the other DHCP servers that it has accepted an offer. The host broadcasts a request message containing the IP address of the DHCP server that made the offer.

When the other DHCP servers receive the request message, they withdraw any offers that they might have made to the host. Any IP addresses they had reserved for that host are returned to the pool of valid addresses that the DHCP servers may offer to other hosts. After the DHCP server receives the request message from the host, an acknowledgement packet is sent from the DHCP server to the host to acknowledge receipt of the request message.

Address Resolution Protocol (ARP) may be used when two hosts are on different networks and must communicate through a router. In cases in which the two hosts are on separate networks, the sending host sends its packet to a router which looks up the receiving host's IP address or the IP address of the next appropriate router to send data to the receiving host. A sending host may have to send an ARP request and receive an ARP reply from a receiving host to ascertain an unknown receiving host's address.

Unfortunately, conflicts may arise with the use of certain IP addresses when two hosts are utilizing the same IP address because one host obtained the address through DHCP or other address assignment protocol while the other did not.

Currently, the hosts themselves detect IP address conflict and inform the user of the conflicting host. However the user is not required to take action. This means the conflict can continue to cause problems to the authorized user (the host who obtained the address through DHCP or other address assignment protocol).

Use of a DHCP snooping feature may also solve the problem of multiple hosts utilizing the same IP address on a network. The DHCP snooping feature has a IP-source filtering sub-feature. If enabled, this allows only traffic from specified IP-MAC combinations on a given port, which are obtained by sniffing DHCP packets on the network. If the user enables IP source-filtering, a hardware entry is created for every valid IP-MAC association on a port, based on established DHCP leases. This would cause the traffic from the user with the static assignment to be dropped. However, this can quickly use up hardware resources, depending on the number of hosts on a given port.

Hence, there is a need in the art for a convenient to implement, reliable, inexpensive and efficient method to identify offending hosts whenever an address conflict is detected and selectively drop traffic from those hosts.

SUMMARY OF THE DISCLOSURE

The preferred embodiment of the invention involves a method for identifying hosts using a conflicting static IP address in a network in which a DHCP server has assigned that address to another host and selectively dropping traffic from the offending host.

The principal object of this invention is to provide a method to resolve IP address conflicts in a network with DHCP or other address assignment protocol when some host on the network uses a conflicting static IP address to an IP address properly assigned to a first host.

Another object of this invention is to provide a method that is relatively inexpensive to implement and maintain for resolving IP address conflicts in a network with DHCP or other address assignment protocol if some host on the network uses a conflicting static IP address.

Another object of this invention is to provide a method to resolve IP address conflicts in a network with DHCP or some other address assignment protocol if some host on the network uses a conflicting static address wherein hosts breaking the address assignment protocol policy are quickly isolated, preventing them from causing interruptions for the legitimate host in a resource-efficient manner.

Another object of this invention is to provide a reliable method to resolve IP address conflicts in a network with DHCP or some other address assignment protocol if some host on the network uses a conflicting static IP address.

Yet another object of the invention is permitting efficient usage of hardware resources by obviating the use of IP source filtering for detecting invalid IP-MAC address associations through the provision of a method to resolve IP address conflicts in a network with DHCP or some other address assignment protocol if some host on the network uses a conflicting static IP address.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a VLAN implementing the preferred method of the invention when PC-B (an offending host) is pre-existing on the VLAN before the DHCP server offers its IP address to PC-A.

FIG. 2 depicts a VLAN implementing an alternative method of the invention when PC-B (an offending host) joins the VLAN after its address has been assigned by the DHCP server to PC-A.

DETAILED DESCRIPTION OF THE DRAWINGS

The invention involves resolving IP address conflicts in a network with DHCP or some other address assignment protocol when a host on the network uses a conflicting static IP address, which is an IP address that conflicts with an IP address assigned to another host by DHCP or another address assignment protocol.

FIG. 1 depicts a VLAN implementing the preferred method of the invention when PC-B (an offending host) is pre-existing on the VLAN before the DHCP server offers its IP address to PC-A.

The offending host (the one with static mapping), PC-B 10, is pre-existing on a VLAN 11 before the address-assignment server, DHCP server 12, offers its IP address (192.168.1.1) to PC-A 13.

All packets of the address-assignment on the specified VLAN 11 are sniffed. Whenever the DHCP server 12 offers a given IP address to PC-A 13, the router 14 attempts to detect another node/host using the offered IP address, using address resolution protocol like ARP.

The router 14 sends an ARP request for the offered address, 192.168.1.1 in this case. When an ARP Reply is received from PC-B 10, the router 14 assumes the replying host/PC-B 10 to have a static assignment and blocks the MAC address of PC-B 10 on the VLAN 11 for a specific/configurable amount of time and generates a Simple Network Management Protocol (SNMP) trap. That is, when an ARP Reply is received from host PC-B 10, the router 14 treats the replying host PC-B 10 as an offending host having a conflicting static IP address and blocks the MAC address of that host PC-B 10 on the VLAN 11 for a specific and configurable amount of time. During this time, all traffic from PC-B 10 will be dropped by the router 14. Other alternate forms for alerting the administrator can also be utilized.

FIG. 2 depicts a VLAN implementing an alternative method of the invention when PC-B (an offending host) joins the VLAN after its address has been assigned by the DHCP server to PC-A.

The offending host with static mapping, PC-B 20, joins a VLAN 21 after its IP address, 192.168.1.1, has been assigned by the DHCP server 22 to PC-A 23. The router 24 maintains a valid mappings database by sniffing all packets of the address-assignment protocol (e.g. DHCP), based on established leases. The valid mappings database includes a mapping of MAC address and corresponding IP address assigned to a host by the address assignment protocol. The router 24 also sniffs all address-resolution packets on the VLAN on which this feature is configured and checks for conflicts.

The router 24 has a valid mapping of IP address 192.168.1.1 for the MAC-address of PC-A 23. The source information of all address-resolution packets on the VLAN 21 is checked against the database of valid mappings. As part of communicating with any host on VLAN 21, PC-B 20 will either send an ARP Request for the host or reply to an ARP Request from that host. In either case, when the router 24 checks the source information in the ARP packet from PC-B 20 against the database of valid mappings a conflict with the valid mappings database would be indicated, meaning that the authorized user of the IP address 192.168.1.1 is PC-A 23.

Optionally, the router 24 can periodically also send ARP Requests for all hosts in the valid mappings database.

When an offending host is detected via a conflict, i.e. the source information contained in the ARP Reply conflicts with information in the valid mappings database, the MAC-address of the offending host PC-B 20 is blocked on VLAN 21 using a L2 content addressable memory (CAM) for a specific/configurable amount of time. A SNMP trap is also generated to alert the administrator. During this time, all traffic from PC-B 20 will be dropped by the router 24.

An alternate approach would be to allow only address-assignment protocol packets from PC-B. This will permit any immediate corrective action (e.g. switching to DHCP configuration) made on part of the offending host, without needing the administrator's intervention (or the temporary outage). However this would need hardware resource such as a Ternary CAM (TCAM) which would need to be timed out.

It should be understood that the acronym ARP as used herein may refer to any and all address resolution protocol. Similarly, the acronym DHCP as used herein refers to any and all address assignment protocol. For purposes of this application, a router can be any device capable of maintaining a valid mappings database or sending an address resolution protocol request or receiving an address resolution protocol reply.

It is contemplated that the method described herein can be implemented as software, including a computer-readable medium having program instructions executing on a computer, hardware, firmware, or a combination thereof. The method described herein also may be implemented in various combinations on hardware and/or software.

It will be recognized by those skilled in the art that changes or modifications may be made to the above-described embodiments without departing from the broad inventive concepts of the invention. It should therefore be understood that this invention is not limited to the particular embodiments described herein, but is intended to include all changes and modifications that are within the scope and spirit of the invention as set forth in the claims. 

1. A method to resolve IP address conflicts in a network using address assignment protocol when a host on the network uses a conflicting static address comprising the steps of: (a) assigning to a first host on a VLAN an IP address assignment from an address assignment protocol server; and (b) detecting on the VLAN other occurrences of the IP address assignment using an address resolution protocol.
 2. The method of claim 1 wherein the step of detecting on the VLAN other occurrences of the address assignment using the address resolution protocol is done at a router.
 3. The method of claim 2 further comprising the step of: sending from the router an address resolution protocol request for the IP address assignment to hosts on the VLAN.
 4. The method of claim 3 further comprising the step of: receiving at the router an address resolution protocol reply from a second host having the IP address assignment.
 5. The method of claim 4 further comprising the step of: assuming the address resolution protocol reply is from the second host.
 6. The method of claim 5 further comprising the step of: blocking the second host on the VLAN for a specific and configurable amount of time.
 7. The method of claim 6 further comprising the step of: generating a SNMP trap by the router.
 8. A method to resolve IP address conflicts in a network with address assignment protocol when a host on the network uses a conflicting static IP address comprising the steps of: (a) assigning a first host on a VLAN an IP address assignment from an address assignment protocol server; (b) maintaining a valid mappings database at a router; (c) sniffing address resolution protocol packets on the VLAN to detect conflicts; (d) sending periodically from the router an address resolution protocol request to all IP addresses in the valid mappings database on the VLAN; (e) receiving at the router an address resolution protocol reply from a second host in response to the address resolution protocol request; (f) checking source information of the address resolution protocol reply against the valid mappings database; and (g) confirming that the second host has the IP address assignment of the first host.
 9. The method of claim 8 further comprising the step of: blocking the second host for a configurable amount of time.
 10. The method of claim 9 wherein a L2 CAM is used in blocking the second host.
 11. The method of claim 8 further comprising the step of: permitting only address-assignment protocol packets from the second host on the VLAN.
 12. The method of claim 8 further comprising the step of: generating a SNMP trap by the router to alert an administrator.
 13. A method to resolve IP address conflicts in a network with address assignment protocol when a host on the network uses a conflicting static IP address comprising the steps of: (a) assigning a first host on a VLAN an IP address assignment from an address assignment protocol server; (b) sending from a router an address resolution protocol request for the IP address assignment to hosts on the VLAN; (c) receiving at the router an address resolution protocol reply from a second host having the IP address assignment; and (d) blocking the second host on the VLAN for a specific and configurable amount of time.
 14. A method to resolve IP address conflicts in a network with address assignment protocol when a host on the network uses a conflicting static IP address comprising the steps of: (a) assigning a first host on a VLAN an IP address assignment from an address assignment protocol server; and (b) maintaining a valid mappings database at a device.
 15. The method of claim 14 further comprising the step of: sniffing address resolution protocol packets on the VLAN to detect conflicts.
 16. The method of claim 14 further comprising the steps of: (a) sending periodically from the device an address resolution protocol request to all IP addresses in the valid mappings database on the VLAN; (b) receiving at the device an address resolution protocol reply from a second host in response to the address resolution protocol request. (c) checking source information of the address resolution protocol reply against the valid mappings database; and (d) confirming that the second host has the IP address assignment of the first host.
 17. The method of claim 16 further comprising the step of: blocking the second host for a configurable amount of time.
 18. The method of claim 17 wherein a L2 CAM is used in blocking the second host.
 19. The method of claim 16 further comprising the step of: permitting only address-assignment protocol packets from the second host on the VLAN.
 20. The method of claim 16 further comprising the step of: generating a SNMP trap by the device to alert an administrator. 